<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>YmsgIRC: IRC Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">YmsgIRC
   </div>
   <div id="projectbrief">Program enabling YMSG clients to use IRC</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.1 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li class="current"><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="classes.html"><span>Data&#160;Structure&#160;Index</span></a></li>
      <li><a href="functions.html"><span>Data&#160;Fields</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('class_i_r_c.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a>  </div>
  <div class="headertitle">
<div class="title">IRC Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Internet Relay Chat network class.  
 <a href="class_i_r_c.html#details">More...</a></p>

<p><code>#include &lt;IRC.h&gt;</code></p>

<p>Inherits NwNetwork.</p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a12c8c899e3aa753744995d79dde7dee5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a12c8c899e3aa753744995d79dde7dee5"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>checkErrors</b> (int nBytes)</td></tr>
<tr class="memitem:a323aa7b6e02f07ded38a2f9ecbad3f91"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a323aa7b6e02f07ded38a2f9ecbad3f91"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_i_r_c.html#a323aa7b6e02f07ded38a2f9ecbad3f91">init</a> ()</td></tr>
<tr class="memdesc:a323aa7b6e02f07ded38a2f9ecbad3f91"><td class="mdescLeft">&#160;</td><td class="mdescRight">resets user and connection settings <br/></td></tr>
<tr class="memitem:ad442acb28ad9f899790fb53b0fa10757"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_i_r_c.html#ad442acb28ad9f899790fb53b0fa10757">sendMsg</a> (const <a class="el" href="class_irc_command.html">IrcCommand</a> &amp;ic)</td></tr>
<tr class="memdesc:ad442acb28ad9f899790fb53b0fa10757"><td class="mdescLeft">&#160;</td><td class="mdescRight">send an <a class="el" href="class_irc_command.html" title="Internet Relay Chat command class.">IrcCommand</a> message over the connected socket.  <a href="#ad442acb28ad9f899790fb53b0fa10757"></a><br/></td></tr>
<tr class="memitem:a5257f82cd28441805a6478d448040bdf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_i_r_c.html#a5257f82cd28441805a6478d448040bdf">stepIncoming</a> (<a class="el" href="class_irc_command.html">IrcCommand</a> &amp;ic)</td></tr>
<tr class="memdesc:a5257f82cd28441805a6478d448040bdf"><td class="mdescLeft">&#160;</td><td class="mdescRight">processes a received command  <a href="#a5257f82cd28441805a6478d448040bdf"></a><br/></td></tr>
<tr class="memitem:aa8f82a2cd2ec8f9210174f70830f9d75"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_i_r_c.html#aa8f82a2cd2ec8f9210174f70830f9d75">stepActions</a> ()</td></tr>
<tr class="memdesc:aa8f82a2cd2ec8f9210174f70830f9d75"><td class="mdescLeft">&#160;</td><td class="mdescRight">reads a queue for Action-messages the program told this object to perform, and carries one of them out.  <a href="#aa8f82a2cd2ec8f9210174f70830f9d75"></a><br/></td></tr>
<tr class="memitem:aa459a8e3bf313c9eca5e29d0b1bc25be"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_i_r_c.html#aa459a8e3bf313c9eca5e29d0b1bc25be">stepRecv</a> ()</td></tr>
<tr class="memdesc:aa459a8e3bf313c9eca5e29d0b1bc25be"><td class="mdescLeft">&#160;</td><td class="mdescRight">acquires any one waiting message on the connected socket and processes it.  <a href="#aa459a8e3bf313c9eca5e29d0b1bc25be"></a><br/></td></tr>
<tr class="memitem:a5491698ad7d037c0dbc6d3d1e3d0f828"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_i_r_c.html#a5491698ad7d037c0dbc6d3d1e3d0f828">step</a> (<a class="el" href="network_8h.html#a279ec4e071bf0348bb79fefdc92d47ac">NwStepState</a> state=<a class="el" href="network_8h.html#a279ec4e071bf0348bb79fefdc92d47aca559488ca041de038e4ee3d9ea163193a">NW_STEP</a>)</td></tr>
<tr class="memdesc:a5491698ad7d037c0dbc6d3d1e3d0f828"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs a set of actions based on whether the program is Starting, Continuing, or Quitting at a given moment.  <a href="#a5491698ad7d037c0dbc6d3d1e3d0f828"></a><br/></td></tr>
<tr class="inherit_header pub_methods_class_nw_network"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_class_nw_network')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="class_nw_network.html">NwNetwork</a></td></tr>
<tr class="memitem:ac234cae7700ab0eb9bfd627a878aed17 inherit pub_methods_class_nw_network"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac234cae7700ab0eb9bfd627a878aed17"></a>
<a class="el" href="network_8h.html#a693b956d9a9c59c9f23203ab93478556">NwCheckType</a>&#160;</td><td class="memItemRight" valign="bottom"><b>CheckOrigin</b> (string u, bool defblank=true)</td></tr>
<tr class="memitem:a7302861a217ccf16fbc3ced09d408d75 inherit pub_methods_class_nw_network"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7302861a217ccf16fbc3ced09d408d75"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>NwAConnInfo</b> (const string &amp;host, unsigned int port)</td></tr>
<tr class="memitem:af4661d4690a22f8b8e6a7525a6e9179a inherit pub_methods_class_nw_network"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af4661d4690a22f8b8e6a7525a6e9179a"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>NwEAccept</b> (const NwConnection &amp;listener, bool conditionalEvt=true)</td></tr>
<tr class="memitem:a5bb92c5b006422de4d4512ad19365f87 inherit pub_methods_class_nw_network"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5bb92c5b006422de4d4512ad19365f87"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>NwEConnect</b> (bool conditionalEvt=true)</td></tr>
<tr class="memitem:a095c7f2580e62f118752454c7a68cfc0 inherit pub_methods_class_nw_network"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a095c7f2580e62f118752454c7a68cfc0"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>NwEDisconnect</b> (bool conditionalEvt=true)</td></tr>
<tr class="memitem:afceb523901a2a73de448d3723df055ee inherit pub_methods_class_nw_network"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afceb523901a2a73de448d3723df055ee"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>NwEUsername</b> (string from, string to)</td></tr>
<tr class="memitem:a067e693006a6c130bbafa32f0885523f inherit pub_methods_class_nw_network"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a067e693006a6c130bbafa32f0885523f"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>NwEUsername</b> (string to)</td></tr>
<tr class="memitem:ac196d948b91b48719f9080ac878506d7 inherit pub_methods_class_nw_network"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac196d948b91b48719f9080ac878506d7"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>NwEChanName</b> (string c)</td></tr>
<tr class="memitem:afe258aa56c40d86452acf8af339850e8 inherit pub_methods_class_nw_network"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afe258aa56c40d86452acf8af339850e8"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>NwEChanTopic</b> (string c, string t)</td></tr>
<tr class="memitem:a0624700dd3ab70a3b2e2a6cc6f70be88 inherit pub_methods_class_nw_network"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0624700dd3ab70a3b2e2a6cc6f70be88"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>NwEChanStart</b> (string c, string t)</td></tr>
<tr class="memitem:a36f3d688316ca7e13022b44865f883d2 inherit pub_methods_class_nw_network"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a36f3d688316ca7e13022b44865f883d2"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>NwEChanAppend</b> (string c, string u)</td></tr>
<tr class="memitem:a93fd9123da73941286d372b3ca362e00 inherit pub_methods_class_nw_network"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a93fd9123da73941286d372b3ca362e00"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>NwEChanRemove</b> (string c, string u)</td></tr>
<tr class="memitem:a48905dd053eb2c777f0f07ded685ab94 inherit pub_methods_class_nw_network"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a48905dd053eb2c777f0f07ded685ab94"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>NwEChanReplace</b> (string c, string from, string to)</td></tr>
<tr class="memitem:a47f2d6e780239b6046772fbd5424be06 inherit pub_methods_class_nw_network"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a47f2d6e780239b6046772fbd5424be06"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>NwEChanEnd</b> (string c)</td></tr>
<tr class="memitem:a0b76a10d59d78a06c6aeb47a39eac2bd inherit pub_methods_class_nw_network"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0b76a10d59d78a06c6aeb47a39eac2bd"></a>
const NwNotify &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>NwEMsg</b> (string src, string dst, string txt, int info=0)</td></tr>
<tr class="memitem:afe3a29449c269f53a87e7efd9586fc1a inherit pub_methods_class_nw_network"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afe3a29449c269f53a87e7efd9586fc1a"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>stepActions</b> ()</td></tr>
<tr class="memitem:a48672b9e6f290219ac9729d4678821d3 inherit pub_methods_class_nw_network"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a48672b9e6f290219ac9729d4678821d3"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>stepRecv</b> ()</td></tr>
<tr class="memitem:a9029c77056ae3d90bfbd1cc1b2ff7787 inherit pub_methods_class_nw_network"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9029c77056ae3d90bfbd1cc1b2ff7787"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>step</b> (<a class="el" href="network_8h.html#a279ec4e071bf0348bb79fefdc92d47ac">NwStepState</a> state=<a class="el" href="network_8h.html#a279ec4e071bf0348bb79fefdc92d47aca559488ca041de038e4ee3d9ea163193a">NW_STEP</a>)</td></tr>
<tr class="memitem:a948a9e5fe95a365c755b24116e8eadea inherit pub_methods_class_nw_network"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a948a9e5fe95a365c755b24116e8eadea"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>notifyStateText</b> (const string &amp;state)</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pub_attribs_class_nw_network"><td colspan="2" onclick="javascript:toggleInherit('pub_attribs_class_nw_network')"><img src="closed.png" alt="-"/>&nbsp;Data Fields inherited from <a class="el" href="class_nw_network.html">NwNetwork</a></td></tr>
<tr class="memitem:a167327557353fbb14207468f5896a215 inherit pub_attribs_class_nw_network"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a167327557353fbb14207468f5896a215"></a>
string&#160;</td><td class="memItemRight" valign="bottom"><b>name</b></td></tr>
<tr class="memitem:aed816597f9dda3009c3946094a12e7ff inherit pub_attribs_class_nw_network"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aed816597f9dda3009c3946094a12e7ff"></a>
queue&lt; NwNotify &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>events</b></td></tr>
<tr class="memitem:a02459bb844098c3ea400335ec9dac8d5 inherit pub_attribs_class_nw_network"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a02459bb844098c3ea400335ec9dac8d5"></a>
queue&lt; NwNotify &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>actions</b></td></tr>
<tr class="memitem:afcf8ad5b44999bef9ae86444ad7c1936 inherit pub_attribs_class_nw_network"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afcf8ad5b44999bef9ae86444ad7c1936"></a>
NwConnection&#160;</td><td class="memItemRight" valign="bottom"><b>connection</b></td></tr>
<tr class="memitem:a1af49e4b3217a9757b202fcc712ab951 inherit pub_attribs_class_nw_network"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1af49e4b3217a9757b202fcc712ab951"></a>
<a class="el" href="class_channel.html">Channel</a>&#160;</td><td class="memItemRight" valign="bottom"><b>channel</b></td></tr>
<tr class="memitem:a6305099504b91ff6eb0904d3d335e484 inherit pub_attribs_class_nw_network"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6305099504b91ff6eb0904d3d335e484"></a>
string&#160;</td><td class="memItemRight" valign="bottom"><b>username</b></td></tr>
<tr class="memitem:aab2b95e556fe7f1db3520db072662689 inherit pub_attribs_class_nw_network"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aab2b95e556fe7f1db3520db072662689"></a>
string&#160;</td><td class="memItemRight" valign="bottom"><b>password</b></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Internet Relay Chat network class. </p>
<p>Provides functions and networking (<a class="el" href="class_i_r_c.html" title="Internet Relay Chat network class.">IRC</a> command conditions and NwNetwork message cases) for using an Internet Relay Chat network. This class is a client-side implementation. </p>
<dl class="section see"><dt>See also:</dt><dd><a class="el" href="group__irccmdfields.html">Command property fields</a> </dd></dl>
</div><hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="ad442acb28ad9f899790fb53b0fa10757"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool IRC::sendMsg </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class_irc_command.html">IrcCommand</a> &amp;&#160;</td>
          <td class="paramname"><em>ic</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>send an <a class="el" href="class_irc_command.html" title="Internet Relay Chat command class.">IrcCommand</a> message over the connected socket. </p>
<p>Note: this function requires the <a class="el" href="class_irc_command.html" title="Internet Relay Chat command class.">IrcCommand</a> message be "assembled" before-hand but does not error-check if it is not. </p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">ic</td><td>the <a class="el" href="class_irc_command.html" title="Internet Relay Chat command class.">IrcCommand</a> message to send </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values:</dt><dd>
  <table class="retval">
    <tr><td class="paramname">true</td><td>Success: the command was sent. </td></tr>
    <tr><td class="paramname">false</td><td>Failure: there was an error sending the command (check IRC::connection.error). </td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also:</dt><dd><a class="el" href="class_irc_command.html#a393997bb863f686ec233ce1570e6ed3b" title="Constructs a command string from data fields.">IrcCommand::assemble()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a5491698ad7d037c0dbc6d3d1e3d0f828"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void IRC::step </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="network_8h.html#a279ec4e071bf0348bb79fefdc92d47ac">NwStepState</a>&#160;</td>
          <td class="paramname"><em>state</em> = <code><a class="el" href="network_8h.html#a279ec4e071bf0348bb79fefdc92d47aca559488ca041de038e4ee3d9ea163193a">NW_STEP</a></code></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Performs a set of actions based on whether the program is Starting, Continuing, or Quitting at a given moment. </p>
<p>This function is called by the program to tell the class what state the program is in and give it a chance perform actions. Implementation-wise, this is called when: the program Starts-up, when the program Loops (main program loop), and when the program Quits.<br/>
 As far as performing a Loop Step, this is just doing a piece of work with each iteration of a loop. <br/>
 Note: Begin and End states are not called repeatedly, only Continue (NW_STEP) is.<br/>
 Note: any actions the class performs are expected to only last a moment - this function must Return promptly. </p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">state</td><td>Which state the program is in at the moment<br/>
 Behavior depends on the value: <table class="doxtable">
<tr>
<th>Value </th><th>Behavior</th></tr>
<tr>
<td>NW_STEP_BEGIN </td><td>None. Class is already ready to be used. </td></tr>
<tr>
<td>NW_STEP </td><td>Performs a waiting Action (<a class="el" href="class_i_r_c.html#aa8f82a2cd2ec8f9210174f70830f9d75" title="reads a queue for Action-messages the program told this object to perform, and carries one of them ou...">stepActions()</a>). and process a message (<a class="el" href="class_i_r_c.html#aa459a8e3bf313c9eca5e29d0b1bc25be" title="acquires any one waiting message on the connected socket and processes it.">stepRecv()</a>) </td></tr>
<tr>
<td>NW_STEP_END </td><td>Closes the connection socket. </td></tr>
</table>
</td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also:</dt><dd>NwNetwork::step() </dd></dl>

</div>
</div>
<a class="anchor" id="aa8f82a2cd2ec8f9210174f70830f9d75"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void IRC::stepActions </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>reads a queue for Action-messages the program told this object to perform, and carries one of them out. </p>
<p>This function reads the class' Actions queue to see what type of things the program wants it to do, and then performs them either internally or with the <a class="el" href="class_i_r_c.html" title="Internet Relay Chat network class.">IRC</a> network as supported. For a less abstract description, you may want to read the NwNetwork documentation. </p>
<dl class="section see"><dt>See also:</dt><dd>NwNetwork::stepActions() </dd></dl>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="class_i_r_c_aa8f82a2cd2ec8f9210174f70830f9d75_cgraph.jpg" border="0" usemap="#class_i_r_c_aa8f82a2cd2ec8f9210174f70830f9d75_cgraph" alt=""/></div>
<map name="class_i_r_c_aa8f82a2cd2ec8f9210174f70830f9d75_cgraph" id="class_i_r_c_aa8f82a2cd2ec8f9210174f70830f9d75_cgraph">
<area shape="rect" id="node3" href="class_irc_command.html#a8f97f56a428f86060a086f24c823a043" title="creates an empty IrcCommand object" alt="" coords="173,5,349,32"/><area shape="rect" id="node5" href="class_irc_command.html#a419b179170e745045b1fcadcc2661aa0" title="clears property values" alt="" coords="397,5,517,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a5257f82cd28441805a6478d448040bdf"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void IRC::stepIncoming </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_irc_command.html">IrcCommand</a> &amp;&#160;</td>
          <td class="paramname"><em>ic</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>processes a received command </p>
<p>This function forms the basis for <a class="el" href="class_i_r_c.html" title="Internet Relay Chat network class.">IRC</a> networking, it takes received input and immediately decides what needs to be done; from queuing messages to the program, to automatically replying (authorization), and changing internal information as gathered.</p>
<p>This function must also queue "Events" as necessary so the program can read of important occurences on this network. NwNetwork documentation may clarify this. </p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">ic</td><td>the <a class="el" href="class_irc_command.html" title="Internet Relay Chat command class.">IrcCommand</a> message as received </td></tr>
  </table>
  </dd>
</dl>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="class_i_r_c_a5257f82cd28441805a6478d448040bdf_cgraph.jpg" border="0" usemap="#class_i_r_c_a5257f82cd28441805a6478d448040bdf_cgraph" alt=""/></div>
<map name="class_i_r_c_a5257f82cd28441805a6478d448040bdf_cgraph" id="class_i_r_c_a5257f82cd28441805a6478d448040bdf_cgraph">
<area shape="rect" id="node3" href="class_irc_command.html#a8f97f56a428f86060a086f24c823a043" title="creates an empty IrcCommand object" alt="" coords="181,5,357,32"/><area shape="rect" id="node7" href="class_irc_command.html#a1afe2fc83b2952ee655f1620cca52cc2" title="Shortens the origin string to just the nickname." alt="" coords="188,56,351,83"/><area shape="rect" id="node5" href="class_irc_command.html#a419b179170e745045b1fcadcc2661aa0" title="clears property values" alt="" coords="405,5,525,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="aa459a8e3bf313c9eca5e29d0b1bc25be"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void IRC::stepRecv </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>acquires any one waiting message on the connected socket and processes it. </p>
<p>This function works with IRC::connection (NwConnection) to receive data from the connected socket and form an <a class="el" href="class_irc_command.html" title="Internet Relay Chat command class.">IrcCommand</a> object; if there are no errors, <a class="el" href="class_i_r_c.html#a5257f82cd28441805a6478d448040bdf" title="processes a received command">stepIncoming()</a> is immediately called to process the message. </p>
<dl class="section see"><dt>See also:</dt><dd>NwNetwork::stepRecv() </dd></dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="_i_r_c_8h.html">IRC.h</a></li>
<li>IRC.cpp</li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="class_i_r_c.html">IRC</a></li>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1 </li>
  </ul>
</div>
</body>
</html>
